<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        //短路运算的原理：当有多个表达式（值）时，左边的表达式值可以确定结果时，就不再继续运算右边的表达式的值
        //1.逻辑与短路运算：如果表达式1，结果为真，则返回表达式2；如果表达式1为假，那么返回表达式1
        console.log(123 && 456);//456
        console.log(0 && 456); //0
        console.log(0 && 1 + 2 && 456 * 5678 );//0
        //如果有空的或者否定的为假，其余为真, 0 '' null undefined NaN

        //2.逻辑或短路运算 如果表达式1 结果为真，则返回的是表达式1；如果表达式1 结果为假，则返回表达式2
        console.log(123 || 456); //123
        console.log(123 || 456 || 456 + 123); //123
        console.log(0 || 456 || 456 + 123);//456
        //逻辑中断很重要，他会影响我们程序的运行结果s
        var num = 0;
        console.log(123 || num++);//123  中断了，后面的num不再计算
        console.log(num);//0
    </script>
</head>
<body>
    
</body>
</html>